Algebra of Synchronization with Application to Deadlock and Semaphores
ثبت نشده
چکیده
Modern multiprocessor architectures have exacerbated problems of coordinating access to shared data, in particular as regards to the possibility of deadlock. For example semaphores, one of the most basic synchronization primitives, present difficulties. Djikstra defined semaphores to solve the problem of mutual exclusion. Practical implementation of the concept has, however, produced semaphores that are prone to deadlock, even while the original definition is theoretically free of it. This is not simply due to bad programming, but we have lacked a theory that allows us to understand the problem. We introduce a formal definition and new general theory of synchronization. We illustrate its applicability by deriving basic deadlock properties, to show where the problem lies with semaphores and also to guide us in finding some simple modifications to semaphores that greatly ameliorate the problem. We suggest some future directions for deadlock resolution that also avoid resource starvation.
منابع مشابه
International Journal of Networking and Computing – www.ijnc.org Algebra of Synchronization with Application to Deadlock and Semaphores
Modern multiprocessor architectures have exacerbated problems of coordinating access to shared data, in particular as regards to the possibility of deadlock. For example semaphores, one of the most basic synchronization primitives, present difficulties. Djikstra defined semaphores to solve the problem of mutual exclusion. Practical implementation of the concept has, however, produced semaphores...
متن کاملPulse: A Dynamic Deadlock Detection Mechanism Using Speculative Execution
Deadlock can occur wherever multiple processes interact. Most existing static and dynamic deadlock detection tools focus on simple types of deadlock, such as those caused by incorrect ordering of lock acquisitions. In this paper, we propose Pulse, a novel operating system mechanism that dynamically detects various types of deadlock in application programs. Pulse runs as a system daemon. Periodi...
متن کاملSynchronization analysis of complex dynamical networks with hybrid coupling with application to Chua’s circuit
Complex dynamic networks have been considered by researchers for their applications in modeling and analyzing many engineering issues. These networks are composed of interconnected nodes and exhibit complex behaviors that are resulted from interactions between these nodes. Synchronization, which is the concept of coordinated behavior between nodes, is the most interested behavior in these netwo...
متن کاملMultiprocessor Priority Ceiling Based Protocols
We study resource synchronization in multiprocessor hard real-time systems. Speciically, we propose a multiprocessor resource control protocol which allows a job to simultaneously lock multiple global resources, removing a restriction from previous protocols. Allowing nested critical sections may permit a ner granularity of synchronization, increasing parallelism and throughput. All the protoco...
متن کاملPriority Inheritance Protocols: An Approach to Real-Time Synchronization
AbstmctA direct application of commonly used synchronization primitives such as semaphores, monitors, or the Ada rendezvous can lead to uncontrolled priority inversion, a situation in which a higher priority job is blocked by lower priority jobs for an indefinite period of time. In this paper, we investigate two protocols belonging to the class of priority inheritance protocols, called the basi...
متن کامل